Chingu Benchmarks / 2013-05-10 22:17:32

Something amazing about the AmigaOS is that it allows for the "easy" extensions/replacements of many of its parts. Over the year, many patches have been proposed to improve the performance of the AmigaOS (for example PatchWP8 to replace the WritePixelArray8() and WritePixelLine8() functions of the graphics.library) or fix some of its bugs (for example CardPatch to fix bugs in the card.resource). Some of these patches may interfer with one another or other legit programs and libraries but a careful selection and ordering of patches can greatly speed up (and increase the usability) of the OS.

 

Computing Power

Two programs to measure performance are AIBB v6.5 and SysSpeed v2.6. Below are the results of these two programs for various configurations of the Startup-Sequence. The leftmost column of the table shows the patches and their ordering in the Startup-Sequence. It also shows any program run before a patch if needed. 

 

Some performance benchmark using AIBB
Tests Units Results Trends
ø BlizKick1 SetPatch
RamLibPatch
PoolMem INSTALL
CopyMem040.safe
FBlit
SystemPatch
EmuTest KoopRate  1  1.00 1.00 1.00 ---
WritePixel 3.43 3.46 12.68 ///
Sieve 1.00 1.00 1.00 ---
Dhrystone 1.00 1.00 1.00 ---
Sort 1.00 1.00 1.00 ---
EllipseTest  2.13 3.54 7.65 ///
Matrix 1.00 1.00 1.00 ---
IMath 1.00 1.00 1.00 ---
MemTest 1.00 1.00 1.00 ---
TGTest 1.57 1.73 2.47 ///
LineTest 1.10 1.46 1.50 ///
Savage 1.00 1.00 1.00 ---
FMath 1.00 1.00 1.00 ---
FMatrix 1.00 1.00 1.00 ---
BeachBall 1.20 1.20 1.30 --/
InstTest 1.00 1.00 1.00 ---
Flops 1.00 1.00 1.00 ---
TranTest 1.02 1.02 1.02 /--
FTrace 1.00 1.00 1.00 ---
CplxTest 1.00 1.00 1.00 ---

 

Some performance benchmark using SysSpeed
Tests Units Results (On Average) Trends
ø BlizKick1 SetPatch
RamLibPatch
PoolMem INSTALL
CopyMem040.safe
FBlit
SystemPatch
ADPro Sec.  119.64 33.82 30.85 31.43 \_/
ImageStudio Sec.  31.76  16.13 15.22 16.47 \_/
CygnuED Sec.  40.09  18.28 18.23 16.05 \\\
GoldEd Sec.  38.52  14.05 16.48 13.69 \/\
Cruncher Sec.  29.89  19.17 30.63 35.83 \//
Memory MB/s  195.11  339.47 339.87 340.09 ///
Drive Op/s  1652.00  5911.00 6041.00 7215.00 ///
MB/s 3.75 5.23 4.84 6.08 /\/
Intuition Op/s  94.00  333.00 397.00 458.00 ///
Graphic OP/s  14191.00  73776.00 74179.00 87554.00 ///
CPU/FPU MioOp/s  39.1  39.8 39.79 39.85 /\/

 

The two tables above shown that, with the set of patches {BlizKick, SetPatch, RamLibPatch, PoolMem, CopyMem040, FBlit, and SystemPatch}, the performance of a standard A1200 can dramatically increase! Some results collected using SysSpeed regarding ADPro and ImageStudio are a bit puzzling because they show a U-shape trend, i.e., using FBlit and SystemPatch slows them down. However, the observed decrease in performance is of only about 1 sec. and could be the results of measurement errors (threat to the construct validity of these tables ).

 

Disk Operations

The use of a modern filesystem can also greatly speed up disk operations. I recommand PFS3 (the Professional File System v5.3), which really makes a difference and is also more secure and more stable that the Fast File System. The Smart File System is a nice choice too! Below are some benchmarks comparing various disk operations between the PFS3 and the FFS.

 

Some disk-operation benchmarks
Filesystems Units SysSpeed Comments
FFS-DC Op/s 1652.00 Use of PFS really improves performance (and reliability)!
MB/s 3.75
PFS3 Op/s 5911.00
MB/s 5.23

 

Other Patches

Many other patches are available on-line of course, among these, the following were recommanded to me but I did not test them extensively as the ones above:

 

Conclusion

Using patches judiciously can dramatically increase the performance of a standard A1200! However, some experimentations are required because some patches may slow down some measures to the benefice of others and, of course , some patches are incompatible and–or unstable...

 

1 BlizKick is used with the following options: KICKFILE="DEVS:Kickstarts/Kick40680.a1200" EXTRESBUF=40960 SPEEDROM HOGWAITBLIT QUIET MODULE BBlank FixMath404 LocalFast MoveVBR MuMove4k NewAlert NoClick PatchMath020 ROMFixes SpeedyIDE